﻿#region

using System;

#endregion

namespace BuildMotion.MotionTracker.Common
{
    public class LogItem
    {
        /// <summary>
        /// Gets or sets the log id.
        /// </summary>
        /// <value>The log id.</value>
        public Guid LogId { get; set; }

        /// <summary>
        /// Gets or sets the log request id.
        /// </summary>
        /// <value>The log request id.</value>
        public Guid LogRequestId { get; set; }

        /// <summary>
        /// Gets or sets the timestamp id.
        /// </summary>
        /// <value>The timestamp id.</value>
        public Guid TimestampId { get; set; }

        /// <summary>
        /// Gets or sets the URL referrer id.
        /// </summary>
        /// <value>The URL referrer id.</value>
        public Guid UrlReferrerId { get; set; }

        /// <summary>
        /// Gets or sets the URL id.
        /// </summary>
        /// <value>The URL id.</value>
        public Guid UrlId { get; set; }

        /// <summary>
        /// Gets or sets the browser id.
        /// </summary>
        /// <value>The browser id.</value>
        public Guid BrowserId { get; set; }

        /// <summary>
        /// Gets or sets the session id.
        /// </summary>
        /// <value>The session id.</value>
        public Guid SessionId { get; set; }

        /// <summary>
        /// Gets or sets the headers.
        /// </summary>
        /// <value>The headers.</value>
        public string Headers { get; set; }

        /// <summary>
        /// Gets or sets the HTTP method.
        /// </summary>
        /// <value>The HTTP method.</value>
        public string HttpMethod { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether this instance is secure connection.
        /// </summary>
        /// <value>
        /// 	<c>true</c> if this instance is secure connection; otherwise, <c>false</c>.
        /// </value>
        public bool IsSecureConnection { get; set; }

        /// <summary>
        /// Gets or sets the user host address.
        /// </summary>
        /// <value>The user host address.</value>
        public string UserHostAddress { get; set; }

        /// <summary>
        /// Gets or sets the name of the user host.
        /// </summary>
        /// <value>The name of the user host.</value>
        public string UserHostName { get; set; }

        /// <summary>
        /// Gets or sets the total bytes.
        /// </summary>
        /// <value>The total bytes.</value>
        public int TotalBytes { get; set; }

        /// <summary>
        /// Gets or sets the physical path.
        /// </summary>
        /// <value>The physical path.</value>
        public string PhysicalPath { get; set; }

        /// <summary>
        /// Gets or sets the raw URL.
        /// </summary>
        /// <value>The raw URL.</value>
        public string RawUrl { get; set; }

        /// <summary>
        /// Gets or sets the type of the request.
        /// </summary>
        /// <value>The type of the request.</value>
        public string RequestType { get; set; }

        /// <summary>
        /// Gets or sets the name of the encoding.
        /// </summary>
        /// <value>The name of the encoding.</value>
        public string EncodingName { get; set; }

        /// <summary>
        /// Gets or sets the user agent.
        /// </summary>
        /// <value>The user agent.</value>
        public string UserAgent { get; set; }
    }
}